package org.example.ndarray.index;

import ai.djl.ndarray.NDArray;
import ai.djl.ndarray.NDManager;

public class Example {
    public static void main(String[] args) {
        /*
          索引和切片功能中，DJL使用与Python中的Numpy相同的语法结构
          就像在任意一个Python中的数组一样，一个NDArray中的元素也可以通过索引获得
          像在任意Python的array一样，第一个索引是0号索引，明确范围包括第一个到最后一个元素之前
         */
        try (NDManager ndManager = NDManager.newBaseManager()) {
            NDArray x = ndManager.arange(12f).reshape(3, 4);
            System.out.println("x = " + x);
            // [-1]是最后一个元素，范围包括第一个元素，不包括最后一个元素
            System.out.println("x[:-1] = " + x.get(":-1"));
            // [1:3]表示第二个索引到第四个索引之前，即选出第二个和第三个元素
            System.out.println("x[1:3] = " + x.get("1:3"));
            // [1:]表示第二个索引以及之后的所有元素
            System.out.println("x[1:] = " + x.get("1:"));
        }
    }
}
